package com.juejin.www.service;

import com.juejin.www.model.DTO.ArticleDTO;
import com.juejin.www.model.DTO.PageDTO;
import com.juejin.www.model.VO.ArticleVO;

/**
 * @author Jacky
 */
public interface ArticleService {

    /**
     * 获取所有文章列表
     * @param currentPage 当前页码
     * @param pageSize 每页展示条数
     * @return 所有文章列表
     */
    PageDTO<ArticleVO> list(Integer currentPage,Integer pageSize);

    /**
     * 阅读指定文章
     * @param id 文章id
     * @param uid 用户id
     * @return 文章展示实体
     */
    ArticleVO read(Integer id,Integer uid);

    /**
     * 给文章添加浏览量
     * @param id 文章id
     */
    void addViewCount(Integer id);

    /**
     * 用户发布文章
     * @param articleDTO 文章实体
     */
    void addArticle(ArticleDTO articleDTO);

    /**
     * 删除文章
     * @param id 文章id
     */
    void deleteArticle(Integer id);
}
